package com.pureut.quality.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.quality.domain.ConverterManagement;
import com.pureut.quality.domain.ExternalAuditPlan;
import com.pureut.quality.domain.dto.ConverterMqDto;
import com.pureut.quality.domain.dto.ExternalAuditPlanDto;
import com.pureut.quality.domain.vo.ExternalAuditPlanVo;
import com.pureut.quality.domain.vo.SubmitVo;
import com.pureut.quality.export.ExternalAuditPlanExport;

import java.util.List;


/***
 * 外审计划管理
 * Author:C
 * Date:2023/01/18 16:29
 * @DESC
 */
public interface ExternalAuditPlanService extends IService<ExternalAuditPlan> {

    /**
     * 查询外审计划列表
     * @param externalAuditPlanVo
     * @return
     */
    List<ExternalAuditPlanDto> listExternalAuditPlan(ExternalAuditPlanVo externalAuditPlanVo);

    /**
     * 查看外审计划
     * @param id
     * @return
     */
    ExternalAuditPlanDto getInfo(Long id);

    /**
     * 新增外审计划管理
     * @param externalAuditPlanVo
     * @return
     */
    boolean insertExternalAuditPlan(ExternalAuditPlanVo externalAuditPlanVo);

    /**
     * 修改外审计划管理
     * @param externalAuditPlanVo
     * @return
     */
    boolean updateExternalAuditPlan(ExternalAuditPlanVo externalAuditPlanVo);

    /**
     * 删除外审计划管理
     * @param ids
     * @return
     */
    boolean removeExternalAuditPlan(String ids);

    /**
     * 提交
     * @param id
     * @return
     */
    boolean submitExternalAuditPlan(Long id);

    /**
     * 审核
     * @param submitVo
     * @return
     */
    boolean examineExternalAuditPlan(SubmitVo submitVo);

    /**
     * 撤销
     * @param id
     * @return
     */
    boolean revokeExternalAuditPlan(Long id);

    /**
     * 导出外审计划管理
     * @param externalAuditPlanVo
     * @return
     */
    List<ExternalAuditPlanExport> selectAuditPlanExport(ExternalAuditPlanVo externalAuditPlanVo);

    /**
     * 导入外审计划管理
     * @param coCustomer
     * @return
     */
    String importAuditPlan(List<ExternalAuditPlanExport> coCustomer);
}
